package org.springextensions.actionscript.mvcs.service.operation
{
	import flash.events.Event;
	
	public interface IOperation extends IAsyncOperation
	{
		function execute():void;
		
		function isComplete():Boolean;
		
		function canAct():Boolean;
		
		function get result():*;
		
		function get displayName():String;
		
		function get progress():Number;
		
		function dispatchProgress(progress:*):Boolean;
		
		function addProgressListener(listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void;
	}
}